// pages/result/index.js
let page = 1,
  size = 10;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list: [],
    leftH: 0,
    rightH: 0,
    leftList: [],
    rightList: [],
    num: 0,
    keywords: ""
  },
  handlerWarterfull() {
    // 当num值与list总值数量相同 图片 onload onerror 加载图片完毕
    const {
      num,
      list,
      leftList: lList,
      rightList: rList,
      isLoadAll: flase
    } = this.data
    const rightList = [...rList]
    const leftList = [...lList]
    if (num === list.length) {
      // 每一个list的选项都有 h
      list.forEach(item => {
        const {
          leftH,
          rightH
        } = this.data
        if (leftH > rightH) {
          this.data.rightH = rightH + item.h
          rightList.push(item)
        } else {
          this.data.leftH = leftH + item.h
          leftList.push(item)
        }
      })
      //循环完毕,设置左右容器数据 清空加载容器，判断数量清空
      this.setData({
        leftList,
        rightList,
      })
      //请求完毕 关闭loading 
      // 图片左右分栏完毕 立刻更新视图
      wx.hideLoading()
      console.log(this.data.list, this.data.leftList, this.data.rightList)
      //
    }
  },
  //图片载入后收集信息
  onloadImg(e) {
    console.log(e)
    const {
      index
    } = e.target.dataset
    const w = 200
    const {
      width,
      height
    } = e.detail
    console.log(width, height)
    const h = Math.ceil(w * height / width)
    console.log(h, index, this.data.list[index])
    this.data.list[index]['h'] = h;
    console.log(this.data.list)
    this.data.num++;
    // 计算下是否需要出发处理瀑布流函数
    this.handlerWarterfull()
  },
  // 考虑载入失败的元素
  onErrorImg(e) {
    // console.log(e,111)
    const {
      index
    } = e.target.dataset;
    this.data.list[index]['h'] = 200;
    this.data.num++;
    // 计算下是否需要出发处理瀑布流函数
    this.handlerWarterfull()
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //获取上个页面的参数结果
    const {
      keywords
    } = options
    if (!keywords) {
      wx.showToast({
        title: '搜索内容不能为空',
      })
      return false
    }
    console.log(options)
    this.data.keywords = keywords
    this.getDataList()
  },
  getDataList() {
    if (this.data.isLoadAll) return
    wx.showLoading({
      title: '加载中...',
    })
    //清空数据
    this.data.num = 0;
    const {
      keywords
    } = this.data
    //Ajax
    wx.cloud.callFunction({
      name: "getProduct",
      data: {
        keywords,
        page,
        size,
      }
    }).then(res => {
      wx.hideLoading()
      console.log(res)
      if (res.result && res.result.length != 0) {
        //更新视图
        //push
        this.setData({
          list: res.result
        })
      } else {
        this.data.isLoadAll = true
        //没有数据了
        wx.showToast({
          title: "加载完毕~",
          icon: "none"
        })
      }
    }).catch(err => {
      console.log(err)
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },


  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    //页码+1
    page++;
    this.getDataList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})